<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Reference</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Asio">
<link rel="up" href="../index.html" title="Asio">
<link rel="prev" href="examples/cpp17_examples.html" title="C++17 Examples">
<link rel="next" href="reference/asynchronous_operations.html" title="Requirements on asynchronous operations">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="examples/cpp17_examples.html"><img src="../prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../home.png" alt="Home"></a><a accesskey="n" href="reference/asynchronous_operations.html"><img src="../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="asio.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
</h2></div></div></div>
<div class="informaltable">
<table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr><th colspan="4" valign="center">
          <h3>
<a name="idm334420480048"></a>Core</h3>
        </th></tr></thead>
<tbody><tr>
<td valign="top">
          <h4>
<a name="idm334420478048"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/coroutine.html" title="coroutine">coroutine</a></td></tr>
<tr><td><a class="link" href="reference/error_code.html" title="error_code">error_code</a></td></tr>
<tr><td><a class="link" href="reference/execution_context.html" title="execution_context">execution_context</a></td></tr>
<tr><td><a class="link" href="reference/execution_context__id.html" title="execution_context::id">execution_context::id</a></td></tr>
<tr><td><a class="link" href="reference/execution_context__service.html" title="execution_context::service">execution_context::service</a></td></tr>
<tr><td><a class="link" href="reference/executor.html" title="executor">executor</a></td></tr>
<tr><td><a class="link" href="reference/executor_arg_t.html" title="executor_arg_t">executor_arg_t</a></td></tr>
<tr><td><a class="link" href="reference/invalid_service_owner.html" title="invalid_service_owner">invalid_service_owner</a></td></tr>
<tr><td><a class="link" href="reference/io_context.html" title="io_context">io_context</a></td></tr>
<tr><td><a class="link" href="reference/io_context__executor_type.html" title="io_context::executor_type">io_context::executor_type</a></td></tr>
<tr><td><a class="link" href="reference/io_context__service.html" title="io_context::service">io_context::service</a></td></tr>
<tr><td><a class="link" href="reference/io_context__strand.html" title="io_context::strand">io_context::strand</a></td></tr>
<tr><td>
<a class="link" href="reference/io_context__work.html" title="io_context::work">io_context::work</a> (deprecated)</td></tr>
<tr><td><a class="link" href="reference/service_already_exists.html" title="service_already_exists">service_already_exists</a></td></tr>
<tr><td><a class="link" href="reference/system_error.html" title="system_error">system_error</a></td></tr>
<tr><td><a class="link" href="reference/system_executor.html" title="system_executor">system_executor</a></td></tr>
<tr><td><a class="link" href="reference/thread.html" title="thread">thread</a></td></tr>
<tr><td><a class="link" href="reference/thread_pool.html" title="thread_pool">thread_pool</a></td></tr>
<tr><td><a class="link" href="reference/thread_pool__executor_type.html" title="thread_pool::executor_type">thread_pool::executor_type</a></td></tr>
<tr><td><a class="link" href="reference/yield_context.html" title="yield_context">yield_context</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420455712"></a>Free Functions</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/add_service.html" title="add_service">add_service</a></td></tr>
<tr><td><a class="link" href="reference/asio_handler_allocate.html" title="asio_handler_allocate">asio_handler_allocate</a></td></tr>
<tr><td><a class="link" href="reference/asio_handler_deallocate.html" title="asio_handler_deallocate">asio_handler_deallocate</a></td></tr>
<tr><td><a class="link" href="reference/asio_handler_invoke.html" title="asio_handler_invoke">asio_handler_invoke</a></td></tr>
<tr><td><a class="link" href="reference/asio_handler_is_continuation.html" title="asio_handler_is_continuation">asio_handler_is_continuation</a></td></tr>
<tr><td><a class="link" href="reference/bind_executor.html" title="bind_executor">bind_executor</a></td></tr>
<tr><td><a class="link" href="reference/dispatch.html" title="dispatch">dispatch</a></td></tr>
<tr><td><a class="link" href="reference/defer.html" title="defer">defer</a></td></tr>
<tr><td><a class="link" href="reference/get_associated_allocator.html" title="get_associated_allocator">get_associated_allocator</a></td></tr>
<tr><td><a class="link" href="reference/get_associated_executor.html" title="get_associated_executor">get_associated_executor</a></td></tr>
<tr><td><a class="link" href="reference/has_service.html" title="has_service">has_service</a></td></tr>
<tr><td><a class="link" href="reference/make_work_guard.html" title="make_work_guard">make_work_guard</a></td></tr>
<tr><td><a class="link" href="reference/post.html" title="post">post</a></td></tr>
<tr><td><a class="link" href="reference/spawn.html" title="spawn">spawn</a></td></tr>
<tr><td><a class="link" href="reference/use_service.html" title="use_service">use_service</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420438736"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/async_completion.html" title="async_completion">async_completion</a></td></tr>
<tr><td><a class="link" href="reference/basic_io_object.html" title="basic_io_object">basic_io_object</a></td></tr>
<tr><td><a class="link" href="reference/basic_yield_context.html" title="basic_yield_context">basic_yield_context</a></td></tr>
<tr><td><a class="link" href="reference/executor_binder.html" title="executor_binder">executor_binder</a></td></tr>
<tr><td><a class="link" href="reference/executor_work_guard.html" title="executor_work_guard">executor_work_guard</a></td></tr>
<tr><td><a class="link" href="reference/strand.html" title="strand">strand</a></td></tr>
<tr><td><a class="link" href="reference/use_future_t.html" title="use_future_t">use_future_t</a></td></tr>
</table>
          <h4>
<a name="idm334420430368"></a>Special Values</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/executor_arg.html" title="executor_arg">executor_arg</a></td></tr>
<tr><td><a class="link" href="reference/use_future.html" title="use_future">use_future</a></td></tr>
</table>
          <h4>
<a name="idm334420427024"></a>Boost.Bind Placeholders</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/placeholders__bytes_transferred.html" title="placeholders::bytes_transferred">placeholders::bytes_transferred</a></td></tr>
<tr><td><a class="link" href="reference/placeholders__endpoint.html" title="placeholders::endpoint">placeholders::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/placeholders__error.html" title="placeholders::error">placeholders::error</a></td></tr>
<tr><td><a class="link" href="reference/placeholders__iterator.html" title="placeholders::iterator">placeholders::iterator</a></td></tr>
<tr><td><a class="link" href="reference/placeholders__results.html" title="placeholders::results">placeholders::results</a></td></tr>
<tr><td><a class="link" href="reference/placeholders__signal_number.html" title="placeholders::signal_number">placeholders::signal_number</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420418464"></a>Error Codes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/error__basic_errors.html" title="error::basic_errors">error::basic_errors</a></td></tr>
<tr><td><a class="link" href="reference/error__netdb_errors.html" title="error::netdb_errors">error::netdb_errors</a></td></tr>
<tr><td><a class="link" href="reference/error__addrinfo_errors.html" title="error::addrinfo_errors">error::addrinfo_errors</a></td></tr>
<tr><td><a class="link" href="reference/error__misc_errors.html" title="error::misc_errors">error::misc_errors</a></td></tr>
</table>
          <h4>
<a name="idm334420412688"></a>Type Traits</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/associated_allocator.html" title="associated_allocator">associated_allocator</a></td></tr>
<tr><td><a class="link" href="reference/associated_executor.html" title="associated_executor">associated_executor</a></td></tr>
<tr><td><a class="link" href="reference/async_result.html" title="async_result">async_result</a></td></tr>
<tr><td>
<a class="link" href="reference/handler_type.html" title="handler_type">handler_type </a> (deprecated)</td></tr>
<tr><td><a class="link" href="reference/is_executor.html" title="is_executor">is_executor</a></td></tr>
<tr><td><a class="link" href="reference/uses_executor.html" title="uses_executor">uses_executor</a></td></tr>
</table>
          <h4>
<a name="idm334420405104"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/asynchronous_operations.html" title="Requirements on asynchronous operations">Asynchronous operations</a></td></tr>
<tr><td><a class="link" href="reference/CompletionHandler.html" title="Completion handler requirements">CompletionHandler</a></td></tr>
<tr><td><a class="link" href="reference/ExecutionContext.html" title="Execution context requirements">ExecutionContext</a></td></tr>
<tr><td><a class="link" href="reference/Executor1.html" title="Executor requirements">Executor</a></td></tr>
<tr><td><a class="link" href="reference/Handler.html" title="Handlers">Handler</a></td></tr>
<tr><td><a class="link" href="reference/Service.html" title="Service requirements">Service</a></td></tr>
</table>
        </td>
</tr></tbody>
</table>
<table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr><th colspan="4" valign="center">
          <h3>
<a name="idm334420393168"></a>Buffers and Buffer-Oriented Operations</h3>
        </th></tr></thead>
<tbody><tr>
<td valign="top">
          <h4>
<a name="idm334420391120"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/const_buffer.html" title="const_buffer">const_buffer</a></td></tr>
<tr><td><a class="link" href="reference/mutable_buffer.html" title="mutable_buffer">mutable_buffer</a></td></tr>
<tr><td>
<a class="link" href="reference/const_buffers_1.html" title="const_buffers_1">const_buffers_1 </a> (deprecated)</td></tr>
<tr><td>
<a class="link" href="reference/mutable_buffers_1.html" title="mutable_buffers_1">mutable_buffers_1 </a> (deprecated)</td></tr>
<tr><td>
<a class="link" href="reference/null_buffers.html" title="null_buffers">null_buffers</a> (deprecated)</td></tr>
<tr><td><a class="link" href="reference/streambuf.html" title="streambuf">streambuf</a></td></tr>
</table>
          <h4>
<a name="idm334420383664"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/basic_streambuf.html" title="basic_streambuf">basic_streambuf</a></td></tr>
<tr><td><a class="link" href="reference/buffered_read_stream.html" title="buffered_read_stream">buffered_read_stream</a></td></tr>
<tr><td><a class="link" href="reference/buffered_stream.html" title="buffered_stream">buffered_stream</a></td></tr>
<tr><td><a class="link" href="reference/buffered_write_stream.html" title="buffered_write_stream">buffered_write_stream</a></td></tr>
<tr><td><a class="link" href="reference/buffers_iterator.html" title="buffers_iterator">buffers_iterator</a></td></tr>
<tr><td><a class="link" href="reference/dynamic_string_buffer.html" title="dynamic_string_buffer">dynamic_string_buffer</a></td></tr>
<tr><td><a class="link" href="reference/dynamic_vector_buffer.html" title="dynamic_vector_buffer">dynamic_vector_buffer</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420374288"></a>Free Functions</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/async_read.html" title="async_read">async_read</a></td></tr>
<tr><td><a class="link" href="reference/async_read_at.html" title="async_read_at">async_read_at</a></td></tr>
<tr><td><a class="link" href="reference/async_read_until.html" title="async_read_until">async_read_until</a></td></tr>
<tr><td><a class="link" href="reference/async_write.html" title="async_write">async_write</a></td></tr>
<tr><td><a class="link" href="reference/async_write_at.html" title="async_write_at">async_write_at</a></td></tr>
<tr><td><a class="link" href="reference/buffer.html" title="buffer">buffer</a></td></tr>
<tr><td>
<a class="link" href="reference/buffer_cast.html" title="buffer_cast">buffer_cast </a> (deprecated)</td></tr>
<tr><td><a class="link" href="reference/buffer_copy.html" title="buffer_copy">buffer_copy</a></td></tr>
<tr><td><a class="link" href="reference/buffer_size.html" title="buffer_size">buffer_size</a></td></tr>
<tr><td><a class="link" href="reference/buffers_begin.html" title="buffers_begin">buffers_begin</a></td></tr>
<tr><td><a class="link" href="reference/buffers_end.html" title="buffers_end">buffers_end</a></td></tr>
<tr><td><a class="link" href="reference/dynamic_buffer.html" title="dynamic_buffer">dynamic_buffer</a></td></tr>
<tr><td><a class="link" href="reference/read.html" title="read">read</a></td></tr>
<tr><td><a class="link" href="reference/read_at.html" title="read_at">read_at</a></td></tr>
<tr><td><a class="link" href="reference/read_until.html" title="read_until">read_until</a></td></tr>
<tr><td><a class="link" href="reference/transfer_all.html" title="transfer_all">transfer_all</a></td></tr>
<tr><td><a class="link" href="reference/transfer_at_least.html" title="transfer_at_least">transfer_at_least</a></td></tr>
<tr><td><a class="link" href="reference/transfer_exactly.html" title="transfer_exactly">transfer_exactly</a></td></tr>
<tr><td><a class="link" href="reference/write.html" title="write">write</a></td></tr>
<tr><td><a class="link" href="reference/write_at.html" title="write_at">write_at</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420353216"></a>Type Traits</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/is_const_buffer_sequence.html" title="is_const_buffer_sequence">is_const_buffer_sequence</a></td></tr>
<tr><td><a class="link" href="reference/is_match_condition.html" title="is_match_condition">is_match_condition</a></td></tr>
<tr><td><a class="link" href="reference/is_mutable_buffer_sequence.html" title="is_mutable_buffer_sequence">is_mutable_buffer_sequence</a></td></tr>
<tr><td><a class="link" href="reference/is_read_buffered.html" title="is_read_buffered">is_read_buffered</a></td></tr>
<tr><td><a class="link" href="reference/is_write_buffered.html" title="is_write_buffered">is_write_buffered</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420345936"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/read_write_operations.html" title="Requirements on read and write operations">Read and write operations</a></td></tr>
<tr><td><a class="link" href="reference/AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a></td></tr>
<tr><td><a class="link" href="reference/AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a></td></tr>
<tr><td><a class="link" href="reference/AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a></td></tr>
<tr><td><a class="link" href="reference/AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a></td></tr>
<tr><td><a class="link" href="reference/CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a></td></tr>
<tr><td><a class="link" href="reference/ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a></td></tr>
<tr><td><a class="link" href="reference/DynamicBuffer.html" title="Dynamic buffer requirements">DynamicBuffer</a></td></tr>
<tr><td><a class="link" href="reference/MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a></td></tr>
<tr><td><a class="link" href="reference/ReadHandler.html" title="Read handler requirements">ReadHandler</a></td></tr>
<tr><td><a class="link" href="reference/SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a></td></tr>
<tr><td><a class="link" href="reference/SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a></td></tr>
<tr><td><a class="link" href="reference/SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a></td></tr>
<tr><td><a class="link" href="reference/SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a></td></tr>
<tr><td><a class="link" href="reference/WriteHandler.html" title="Write handler requirements">WriteHandler</a></td></tr>
</table>
        </td>
</tr></tbody>
</table>
<table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr><th colspan="4" valign="center">
          <h3>
<a name="idm334420325184"></a>Networking</h3>
        </th></tr></thead>
<tbody><tr>
<td valign="top">
          <h4>
<a name="idm334420323168"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/generic__datagram_protocol.html" title="generic::datagram_protocol">generic::datagram_protocol</a></td></tr>
<tr><td><a class="link" href="reference/generic__datagram_protocol/endpoint.html" title="generic::datagram_protocol::endpoint">generic::datagram_protocol::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/generic__datagram_protocol/socket.html" title="generic::datagram_protocol::socket">generic::datagram_protocol::socket</a></td></tr>
<tr><td><a class="link" href="reference/generic__raw_protocol.html" title="generic::raw_protocol">generic::raw_protocol</a></td></tr>
<tr><td><a class="link" href="reference/generic__raw_protocol/endpoint.html" title="generic::raw_protocol::endpoint">generic::raw_protocol::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/generic__raw_protocol/socket.html" title="generic::raw_protocol::socket">generic::raw_protocol::socket</a></td></tr>
<tr><td><a class="link" href="reference/generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">generic::seq_packet_protocol</a></td></tr>
<tr><td><a class="link" href="reference/generic__seq_packet_protocol/endpoint.html" title="generic::seq_packet_protocol::endpoint">generic::seq_packet_protocol::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/generic__seq_packet_protocol/socket.html" title="generic::seq_packet_protocol::socket">generic::seq_packet_protocol::socket</a></td></tr>
<tr><td><a class="link" href="reference/generic__stream_protocol.html" title="generic::stream_protocol">generic::stream_protocol</a></td></tr>
<tr><td><a class="link" href="reference/generic__stream_protocol/endpoint.html" title="generic::stream_protocol::endpoint">generic::stream_protocol::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/generic__stream_protocol/iostream.html" title="generic::stream_protocol::iostream">generic::stream_protocol::iostream</a></td></tr>
<tr><td><a class="link" href="reference/generic__stream_protocol/socket.html" title="generic::stream_protocol::socket">generic::stream_protocol::socket</a></td></tr>
<tr><td><a class="link" href="reference/ip__address.html" title="ip::address">ip::address</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v4.html" title="ip::address_v4">ip::address_v4</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v4_iterator.html" title="ip::address_v4_iterator">ip::address_v4_iterator</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v4_range.html" title="ip::address_v4_range">ip::address_v4_range</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v6.html" title="ip::address_v6">ip::address_v6</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v6_iterator.html" title="ip::address_v6_iterator">ip::address_v6_iterator</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v6_range.html" title="ip::address_v6_range">ip::address_v6_range</a></td></tr>
<tr><td><a class="link" href="reference/ip__icmp.html" title="ip::icmp">ip::icmp</a></td></tr>
<tr><td><a class="link" href="reference/ip__icmp/endpoint.html" title="ip::icmp::endpoint">ip::icmp::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/ip__icmp/resolver.html" title="ip::icmp::resolver">ip::icmp::resolver</a></td></tr>
<tr><td><a class="link" href="reference/ip__icmp/socket.html" title="ip::icmp::socket">ip::icmp::socket</a></td></tr>
<tr><td><a class="link" href="reference/ip__network_v4.html" title="ip::network_v4">ip::network_v4</a></td></tr>
<tr><td><a class="link" href="reference/ip__network_v6.html" title="ip::network_v6">ip::network_v6</a></td></tr>
<tr><td><a class="link" href="reference/ip__resolver_query_base.html" title="ip::resolver_query_base">ip::resolver_query_base</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp.html" title="ip::tcp">ip::tcp</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp/acceptor.html" title="ip::tcp::acceptor">ip::tcp::acceptor</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp/endpoint.html" title="ip::tcp::endpoint">ip::tcp::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp/iostream.html" title="ip::tcp::iostream">ip::tcp::iostream</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp/resolver.html" title="ip::tcp::resolver">ip::tcp::resolver</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp/socket.html" title="ip::tcp::socket">ip::tcp::socket</a></td></tr>
<tr><td><a class="link" href="reference/ip__udp.html" title="ip::udp">ip::udp</a></td></tr>
<tr><td><a class="link" href="reference/ip__udp/endpoint.html" title="ip::udp::endpoint">ip::udp::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/ip__udp/resolver.html" title="ip::udp::resolver">ip::udp::resolver</a></td></tr>
<tr><td><a class="link" href="reference/ip__udp/socket.html" title="ip::udp::socket">ip::udp::socket</a></td></tr>
<tr><td><a class="link" href="reference/socket_base.html" title="socket_base">socket_base</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420282832"></a>Free Functions</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/async_connect.html" title="async_connect">async_connect</a></td></tr>
<tr><td><a class="link" href="reference/connect.html" title="connect">connect</a></td></tr>
<tr><td><a class="link" href="reference/ip__host_name.html" title="ip::host_name">ip::host_name</a></td></tr>
<tr><td><a class="link" href="reference/ip__address/make_address.html" title="ip::address::make_address">ip::make_address</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v4/make_address_v4.html" title="ip::address_v4::make_address_v4">ip::make_address_v4</a></td></tr>
<tr><td><a class="link" href="reference/ip__address_v6/make_address_v6.html" title="ip::address_v6::make_address_v6">ip::make_address_v6</a></td></tr>
<tr><td><a class="link" href="reference/ip__network_v4/make_network_v4.html" title="ip::network_v4::make_network_v4">ip::make_network_v4</a></td></tr>
<tr><td><a class="link" href="reference/ip__network_v6/make_network_v6.html" title="ip::network_v6::make_network_v6">ip::make_network_v6</a></td></tr>
</table>
          <h4>
<a name="idm334420273264"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/basic_datagram_socket.html" title="basic_datagram_socket">basic_datagram_socket</a></td></tr>
<tr><td><a class="link" href="reference/basic_raw_socket.html" title="basic_raw_socket">basic_raw_socket</a></td></tr>
<tr><td><a class="link" href="reference/basic_seq_packet_socket.html" title="basic_seq_packet_socket">basic_seq_packet_socket</a></td></tr>
<tr><td><a class="link" href="reference/basic_socket.html" title="basic_socket">basic_socket</a></td></tr>
<tr><td><a class="link" href="reference/basic_socket_acceptor.html" title="basic_socket_acceptor">basic_socket_acceptor</a></td></tr>
<tr><td><a class="link" href="reference/basic_socket_iostream.html" title="basic_socket_iostream">basic_socket_iostream</a></td></tr>
<tr><td><a class="link" href="reference/basic_socket_streambuf.html" title="basic_socket_streambuf">basic_socket_streambuf</a></td></tr>
<tr><td><a class="link" href="reference/basic_stream_socket.html" title="basic_stream_socket">basic_stream_socket</a></td></tr>
<tr><td><a class="link" href="reference/generic__basic_endpoint.html" title="generic::basic_endpoint">generic::basic_endpoint</a></td></tr>
<tr><td><a class="link" href="reference/ip__basic_endpoint.html" title="ip::basic_endpoint">ip::basic_endpoint</a></td></tr>
<tr><td><a class="link" href="reference/ip__basic_resolver.html" title="ip::basic_resolver">ip::basic_resolver</a></td></tr>
<tr><td><a class="link" href="reference/ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">ip::basic_resolver_entry</a></td></tr>
<tr><td><a class="link" href="reference/ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">ip::basic_resolver_iterator</a></td></tr>
<tr><td><a class="link" href="reference/ip__basic_resolver_query.html" title="ip::basic_resolver_query">ip::basic_resolver_query</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420257120"></a>Socket Options</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/ip__multicast__enable_loopback.html" title="ip::multicast::enable_loopback">ip::multicast::enable_loopback</a></td></tr>
<tr><td><a class="link" href="reference/ip__multicast__hops.html" title="ip::multicast::hops">ip::multicast::hops</a></td></tr>
<tr><td><a class="link" href="reference/ip__multicast__join_group.html" title="ip::multicast::join_group">ip::multicast::join_group</a></td></tr>
<tr><td><a class="link" href="reference/ip__multicast__leave_group.html" title="ip::multicast::leave_group">ip::multicast::leave_group</a></td></tr>
<tr><td><a class="link" href="reference/ip__multicast__outbound_interface.html" title="ip::multicast::outbound_interface">ip::multicast::outbound_interface</a></td></tr>
<tr><td><a class="link" href="reference/ip__tcp/no_delay.html" title="ip::tcp::no_delay">ip::tcp::no_delay</a></td></tr>
<tr><td><a class="link" href="reference/ip__unicast__hops.html" title="ip::unicast::hops">ip::unicast::hops</a></td></tr>
<tr><td><a class="link" href="reference/ip__v6_only.html" title="ip::v6_only">ip::v6_only</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/broadcast.html" title="socket_base::broadcast">socket_base::broadcast</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/debug.html" title="socket_base::debug">socket_base::debug</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/do_not_route.html" title="socket_base::do_not_route">socket_base::do_not_route</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/enable_connection_aborted.html" title="socket_base::enable_connection_aborted">socket_base::enable_connection_aborted</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/keep_alive.html" title="socket_base::keep_alive">socket_base::keep_alive</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/linger.html" title="socket_base::linger">socket_base::linger</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/receive_buffer_size.html" title="socket_base::receive_buffer_size">socket_base::receive_buffer_size</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/receive_low_watermark.html" title="socket_base::receive_low_watermark">socket_base::receive_low_watermark</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/reuse_address.html" title="socket_base::reuse_address">socket_base::reuse_address</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/send_buffer_size.html" title="socket_base::send_buffer_size">socket_base::send_buffer_size</a></td></tr>
<tr><td><a class="link" href="reference/socket_base/send_low_watermark.html" title="socket_base::send_low_watermark">socket_base::send_low_watermark</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420234752"></a>I/O Control Commands</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/socket_base/bytes_readable.html" title="socket_base::bytes_readable">socket_base::bytes_readable</a></td></tr></table>
          <h4>
<a name="idm334420232192"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/synchronous_socket_operations.html" title="Requirements on synchronous socket operations">Synchronous socket operations</a></td></tr>
<tr><td><a class="link" href="reference/asynchronous_socket_operations.html" title="Requirements on asynchronous socket operations">Asynchronous socket operations</a></td></tr>
<tr><td><a class="link" href="reference/AcceptableProtocol.html" title="Acceptable protocol requirements">AcceptableProtocol</a></td></tr>
<tr><td><a class="link" href="reference/AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a></td></tr>
<tr><td><a class="link" href="reference/ConnectCondition.html" title="Connect condition requirements">ConnectCondition</a></td></tr>
<tr><td><a class="link" href="reference/ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a></td></tr>
<tr><td><a class="link" href="reference/Endpoint.html" title="Endpoint requirements">Endpoint</a></td></tr>
<tr><td><a class="link" href="reference/EndpointSequence.html" title="Endpoint sequence requirements">EndpointSequence</a></td></tr>
<tr><td><a class="link" href="reference/GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a></td></tr>
<tr><td><a class="link" href="reference/InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a></td></tr>
<tr><td><a class="link" href="reference/IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a></td></tr>
<tr><td><a class="link" href="reference/IteratorConnectHandler.html" title="Iterator connect handler requirements">IteratorConnectHandler</a></td></tr>
<tr><td><a class="link" href="reference/MoveAcceptHandler.html" title="Move accept handler requirements">MoveAcceptHandler</a></td></tr>
<tr><td><a class="link" href="reference/Protocol.html" title="Protocol requirements">Protocol</a></td></tr>
<tr><td><a class="link" href="reference/RangeConnectHandler.html" title="Range connect handler requirements">RangeConnectHandler</a></td></tr>
<tr><td><a class="link" href="reference/ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a></td></tr>
<tr><td><a class="link" href="reference/SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a></td></tr>
</table>
        </td>
</tr></tbody>
</table>
<table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th valign="center">
          <h3>
<a name="idm334420208752"></a>Timers</h3>
        </th>
<th valign="center">
          <h3>
<a name="idm334420207040"></a>SSL</h3>
        </th>
<th valign="center">
          <h3>
<a name="idm334420205344"></a>Serial Ports</h3>
        </th>
<th valign="center">
          <h3>
<a name="idm334420203632"></a>Signal Handling</h3>
        </th>
</tr></thead>
<tbody><tr>
<td valign="top">
          <h4>
<a name="idm334420201616"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/deadline_timer.html" title="deadline_timer">deadline_timer</a></td></tr>
<tr><td><a class="link" href="reference/high_resolution_timer.html" title="high_resolution_timer">high_resolution_timer</a></td></tr>
<tr><td><a class="link" href="reference/steady_timer.html" title="steady_timer">steady_timer</a></td></tr>
<tr><td><a class="link" href="reference/system_timer.html" title="system_timer">system_timer</a></td></tr>
</table>
          <h4>
<a name="idm334420196512"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/basic_deadline_timer.html" title="basic_deadline_timer">basic_deadline_timer</a></td></tr>
<tr><td><a class="link" href="reference/basic_waitable_timer.html" title="basic_waitable_timer">basic_waitable_timer</a></td></tr>
<tr><td><a class="link" href="reference/time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">time_traits</a></td></tr>
<tr><td><a class="link" href="reference/wait_traits.html" title="wait_traits">wait_traits</a></td></tr>
</table>
          <h4>
<a name="idm334420191024"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/TimeTraits.html" title="Time traits requirements">TimeTraits</a></td></tr>
<tr><td><a class="link" href="reference/WaitHandler.html" title="Wait handler requirements">WaitHandler</a></td></tr>
<tr><td><a class="link" href="reference/WaitTraits.html" title="Wait traits requirements">WaitTraits</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420185888"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/ssl__context.html" title="ssl::context">ssl::context</a></td></tr>
<tr><td><a class="link" href="reference/ssl__context_base.html" title="ssl::context_base">ssl::context_base</a></td></tr>
<tr><td><a class="link" href="reference/ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a></td></tr>
<tr><td><a class="link" href="reference/ssl__stream_base.html" title="ssl::stream_base">ssl::stream_base</a></td></tr>
<tr><td><a class="link" href="reference/ssl__verify_context.html" title="ssl::verify_context">ssl::verify_context</a></td></tr>
</table>
          <h4>
<a name="idm334420179344"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/ssl__stream.html" title="ssl::stream">ssl::stream</a></td></tr></table>
          <h4>
<a name="idm334420176976"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a></td></tr>
<tr><td><a class="link" href="reference/HandshakeHandler.html" title="SSL handshake handler requirements">HandshakeHandler</a></td></tr>
<tr><td><a class="link" href="reference/ShutdownHandler.html" title="SSL shutdown handler requirements">ShutdownHandler</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420171808"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/serial_port.html" title="serial_port">serial_port</a></td></tr>
<tr><td><a class="link" href="reference/serial_port_base.html" title="serial_port_base">serial_port_base</a></td></tr>
</table>
          <h4>
<a name="idm334420168544"></a>Serial Port Options</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">serial_port_base::baud_rate</a></td></tr>
<tr><td><a class="link" href="reference/serial_port_base__flow_control.html" title="serial_port_base::flow_control">serial_port_base::flow_control</a></td></tr>
<tr><td><a class="link" href="reference/serial_port_base__parity.html" title="serial_port_base::parity">serial_port_base::parity</a></td></tr>
<tr><td><a class="link" href="reference/serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">serial_port_base::stop_bits</a></td></tr>
<tr><td><a class="link" href="reference/serial_port_base__character_size.html" title="serial_port_base::character_size">serial_port_base::character_size</a></td></tr>
</table>
          <h4>
<a name="idm334420162304"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a></td></tr>
<tr><td><a class="link" href="reference/SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420158000"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/signal_set.html" title="signal_set">signal_set</a></td></tr></table>
          <h4>
<a name="idm334420155632"></a>Type Requirements</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/SignalHandler.html" title="Signal handler requirements">SignalHandler</a></td></tr></table>
        </td>
</tr></tbody>
</table>
<table class="table">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th colspan="2" valign="center">
          <h3>
<a name="idm334420148768"></a>POSIX-specific</h3>
        </th>
<th valign="center">
          <h3>
<a name="idm334420147056"></a>Windows-specific</h3>
        </th>
<th valign="center">
          <h3>
<a name="idm334420145360"></a>Experimental</h3>
        </th>
</tr></thead>
<tbody><tr>
<td valign="top">
          <h4>
<a name="idm334420143344"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/local__stream_protocol.html" title="local::stream_protocol">local::stream_protocol</a></td></tr>
<tr><td><a class="link" href="reference/local__stream_protocol/acceptor.html" title="local::stream_protocol::acceptor">local::stream_protocol::acceptor</a></td></tr>
<tr><td><a class="link" href="reference/local__stream_protocol/endpoint.html" title="local::stream_protocol::endpoint">local::stream_protocol::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/local__stream_protocol/iostream.html" title="local::stream_protocol::iostream">local::stream_protocol::iostream</a></td></tr>
<tr><td><a class="link" href="reference/local__stream_protocol/socket.html" title="local::stream_protocol::socket">local::stream_protocol::socket</a></td></tr>
<tr><td><a class="link" href="reference/local__datagram_protocol.html" title="local::datagram_protocol">local::datagram_protocol</a></td></tr>
<tr><td><a class="link" href="reference/local__datagram_protocol/endpoint.html" title="local::datagram_protocol::endpoint">local::datagram_protocol::endpoint</a></td></tr>
<tr><td><a class="link" href="reference/local__datagram_protocol/socket.html" title="local::datagram_protocol::socket">local::datagram_protocol::socket</a></td></tr>
<tr><td><a class="link" href="reference/posix__descriptor.html" title="posix::descriptor">posix::descriptor</a></td></tr>
<tr><td><a class="link" href="reference/posix__descriptor_base.html" title="posix::descriptor_base">posix::descriptor_base</a></td></tr>
<tr><td><a class="link" href="reference/posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420130432"></a>Free Functions</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/local__connect_pair.html" title="local::connect_pair">local::connect_pair</a></td></tr></table>
          <h4>
<a name="idm334420128016"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/local__basic_endpoint.html" title="local::basic_endpoint">local::basic_endpoint</a></td></tr></table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420124880"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/windows__object_handle.html" title="windows::object_handle">windows::object_handle</a></td></tr>
<tr><td><a class="link" href="reference/windows__overlapped_handle.html" title="windows::overlapped_handle">windows::overlapped_handle</a></td></tr>
<tr><td><a class="link" href="reference/windows__overlapped_ptr.html" title="windows::overlapped_ptr">windows::overlapped_ptr</a></td></tr>
<tr><td><a class="link" href="reference/windows__random_access_handle.html" title="windows::random_access_handle">windows::random_access_handle</a></td></tr>
<tr><td><a class="link" href="reference/windows__stream_handle.html" title="windows::stream_handle">windows::stream_handle</a></td></tr>
</table>
        </td>
<td valign="top">
          <h4>
<a name="idm334420117808"></a>Classes</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/experimental__detached_t.html" title="experimental::detached_t">experimental::detached_t</a></td></tr>
<tr><td><a class="link" href="reference/experimental__this_coro__executor_t.html" title="experimental::this_coro::executor_t">experimental::this_coro::executor_t</a></td></tr>
<tr><td><a class="link" href="reference/experimental__this_coro__token_t.html" title="experimental::this_coro::token_t">experimental::this_coro::token_t</a></td></tr>
</table>
          <h4>
<a name="idm334420113056"></a>Class Templates</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/experimental__awaitable.html" title="experimental::awaitable">experimental::awaitable</a></td></tr>
<tr><td><a class="link" href="reference/experimental__await_token.html" title="experimental::await_token">experimental::await_token</a></td></tr>
<tr><td><a class="link" href="reference/experimental__redirect_error_t.html" title="experimental::redirect_error_t">experimental::redirect_error_t</a></td></tr>
</table>
          <h4>
<a name="idm334420108640"></a>Free Functions</h4>
          <table border="0" summary="Simple list" class="simplelist">
<tr><td><a class="link" href="reference/experimental__co_spawn.html" title="experimental::co_spawn">experimental::co_spawn</a></td></tr>
<tr><td><a class="link" href="reference/experimental__this_coro__executor.html" title="experimental::this_coro::executor">experimental::this_coro::executor</a></td></tr>
<tr><td><a class="link" href="reference/experimental__this_coro__token.html" title="experimental::this_coro::token">experimental::this_coro::token</a></td></tr>
</table>
          <h4>
<a name="idm334420104256"></a>Special Values</h4>
          <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/experimental__detached.html" title="experimental::detached">experimental::detached</a></td></tr></table>
        </td>
</tr></tbody>
</table>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2018 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="examples/cpp17_examples.html"><img src="../prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../home.png" alt="Home"></a><a accesskey="n" href="reference/asynchronous_operations.html"><img src="../next.png" alt="Next"></a>
</div>
</body>
</html>
